package source.Objetos 
{
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import net.flashpunk.Entity;
    import net.flashpunk.graphics.Image;
    import net.flashpunk.utils.Input;
    import net.flashpunk.graphics.Graphiclist;
    import source.Assets;
    import source.Global;

	public class Teletransporte extends Entity
	{
		public var pantalla_destino:int;
		public var tileDestino:Point;
		public var sprReposo:Image = new Image(Assets.OBJ_TELETRANSPORTE, new Rectangle(0, 0, Global.grid, 2*Global.grid));
		public var sprTeletransportar:Image = new Image(Assets.OBJ_TELETRANSPORTE, new Rectangle(Global.grid, 0, 2*Global.grid, 2*Global.grid));
		public var teletransportar:Boolean = false;
		
		public function Teletransporte(x:int, y:int, _pantalla_destino:String, _tileDestino:Point) {
			super(x, y);
			
			graphic = new Graphiclist(sprReposo, sprTeletransportar);
            sprReposo.visible = true;
            sprTeletransportar.visible = false;
            
			setHitbox(11, 2*Global.grid, -7, 0);
			
			pantalla_destino = int(_pantalla_destino);
			tileDestino = _tileDestino;
		}
		
		override public function update():void {
			//Si colisionamos con el pj y pulsamos Acción...
			if (collideWith(Global.pj, x, y) && Input.pressed("Accion") && (sprTeletransportar.alpha == 1)) {
				Global.pj.visible = false;
				Global.pj.paralizado = true;
				Global.pantallaDestino = pantalla_destino;
				Global.tileDestino = tileDestino;
                
                sprTeletransportar.visible = true;
				sprTeletransportar.alpha -= 0.02;
			}
			//Nota: collideWith()es más rápido que collide()
			
			//Efecto:
			if ((sprTeletransportar.alpha > 0) && (sprTeletransportar.alpha < 1))
				sprTeletransportar.alpha -= 0.02
			else if (sprTeletransportar.alpha == 0) {
				sprTeletransportar.alpha = 1;
				Global.salirPantalla_porTeletransporte = true;
                
                sprTeletransportar.visible = false;
				Global.pj.visible = true;
			}
		}	
	}
}